package com.qf.gp1702.sessionanalyze.spark.session;


import com.qf.gp1702.sessionanalyze.constant.Constants;
import com.qf.gp1702.sessionanalyze.util.SparkUtils;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SQLContext;

/**
 * 获取用户访问Session数据进行分析：
 * 1、接收使用者创建的分析任务
 * 任务中的过滤条件有：
 * 时间范围：起始日期~结束日期
 * 年龄
 * 性别
 * 职业
 * 所在城市
 * 用户搜索的关键词
 * 点击品类
 * 2、Spark作业是如何接收用户创建的任务
 * shell脚本通知
 * 从MySQL的task表中获取任务信息
 * 3、Spark作业开始数据分析
 */
public class UserVisitSessionAnalyzeSpark {
    public static void main(String[] args) {

        //创建配置信息
        SparkConf sparkConf = new SparkConf().setAppName(Constants.SPARK_APP_NAME_SESSION);

        SparkUtils.setMaster(sparkConf);

        //上下文
        JavaSparkContext sparkContext = new JavaSparkContext(sparkConf);

        // SparkSQL的上下文对象
        SQLContext sqlContext = SparkUtils.getSQLContext(sparkContext.sc());


        // 设置检查点
        // sc.checkpointFile("hdfs://node01:9000/.......");


        //生成模拟数据
        SparkUtils.mockData(sparkContext, sqlContext);

    }

}
